using System;
using System.ComponentModel.DataAnnotations;

namespace ERP.HumanResources.HumanResourceManagement.Dtos
{
    /// <summary>
    /// 创建职级DTO
    /// </summary>
    public class CreatePositionLevelDto
    {
        /// <summary>
        /// 职级编码
        /// </summary>
        [Required(ErrorMessage = "职级编码不能为空")]
        [StringLength(50, ErrorMessage = "职级编码长度不能超过50个字符")]
        public string JobGradeCoding { get; set; }

        /// <summary>
        /// 职级层次
        /// </summary>
        [Required(ErrorMessage = "职级层次不能为空")]
        [StringLength(20, ErrorMessage = "职级层次长度不能超过20个字符")]
        public string JobGradeLevel { get; set; }

        /// <summary>
        /// 职级层次名称
        /// </summary>
        [Required(ErrorMessage = "职级层次名称不能为空")]
        [StringLength(50, ErrorMessage = "职级层次名称长度不能超过50个字符")]
        public string JobGradeLevelName { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(200, ErrorMessage = "备注长度不能超过200个字符")]
        public string? ReferenceColumn { get; set; }

        /// <summary>
        /// 薪资范围下限
        /// </summary>
        [Range(0, int.MaxValue, ErrorMessage = "薪资范围下限必须大于等于0")]
        public int SalaryRangelower { get; set; }

        /// <summary>
        /// 薪资范围上限
        /// </summary>
        [Range(0, int.MaxValue, ErrorMessage = "薪资范围上限必须大于等于0")]
        public int SalaryRangelimits { get; set; }
    }
} 